package com.ato.java;

/**
 * @author wangjing
 * @create 2021--06--16--21:28
 */
public class ArrayTest5 {
    public static void main(String[] args){
//  二分法查找：
//        1：必须是有序的
//        简单来说就是  让要比较的数和中间那一个比较，如果大就往右取，然后在取中间的在比较，
        int[] arr = new int[]{-34,1,2,32,111,234,435,523,21431,6435235};
        int temp  = 435;
        int head = 0; // 初始首索引
        int end = arr.length-1;// 初始末尾索引
        while (head<=end){
            int middle = (head+end)/2;
            if(temp == arr[middle]){
//               恰恰找中间索引对应的就是要找的
                System.out.println("找到了，索引为"+middle);
                break;
            }else if (arr[middle]>temp){
//               大于middle时，
                end = middle-1;
            }else{
                head =middle-1;
            }
        }

    }
}
